The telephone is one of the most widely used communication equipments in the world. At first, it was merely a convenient tool to allow people to communicate while they are physically separated. Recently, many companies use telephones to market products and services, provide technical supports to consumer products, allow callers to access their own financial data, etc. Thus, the telephone is becoming a major business and marketing tool.
In order to more effectively use telephone for business and marketing purposes, call centers have been developed. In a call center, a large number of agents handle telephone communication with callers. The matching of calls between callers and agents is typically performed by software. A simple example is used here to describe a few of the many advantages of using call centers. When a call is made to a call center, the telephone number of the calling line is typically made available to the call center by a telephone carrier. Based on this telephone number, the software in the call center can access a database server to obtain information about the caller who has been assigned that phone number. The software can now route the call to an agent who can best handle the call based on predefined criteria (e.g., language skill, knowledge of products the caller bought, etc.). The software immediately transfers relevant information to a computer screen used by the agent. Thus, the agent can gain valuable information about the caller prior to receiving the call. As a result, the agent can more effectively handle the telephone transaction.
It can be seen from the above example that the enabling technology requires a combination of telephone switching and computer information processing technologies. The term commonly used for this combined technology is computer-telephony-integration (CTI).
In a prior art call center architecture, each call center is an independent unit. Current development in call center technology allows the linking of multiple call centers. In this architecture, a centralized controller is used to manage these call centers. This central controller contains information on the activities and resources of each of these call centers. It is found that this architecture allows more efficient use of call center resources. As an example, a first call center may be overloaded during the morning and a second call center overloaded in the afternoon. The central controller monitors the loading at each call center and routes the calls to the appropriate call centers. Thus, in the above example, more calls will be routed to the second call center during the morning (and converse during the afternoon) so as to equalize the loads. As a result, the performance of this architecture is better than the architecture in which all the call centers are independent.
In order for the multiple call center architecture to work, the central controller needs to have information on the activities of all the call centers. There are at least two cases in which this information may not be readily available. In the first case, activity information for each call center is sent to the central controller only at certain time instances. As a result, there are time intervals in which real-time activity information is not available. Consequently, it is desirable to be able to develop a method to estimate the behavior of the call centers during these intervals. In the second case, there are times when the connection between one or more call centers and the central controller is broken. Thus, this call center cannot send activity information to the central controller. A conventional central controller would not be able to route calls to these disconnected call centers. As a result, the performance could suffer major degradation. Consequently, there is a need to develop a system and method that can reduce the performance degradation.